home *** CD-ROM | disk | FTP | other *** search
-
- -- Quick DSP assembler -- v0.04 (01.01.1995)
-
- by Audoly Gilles
- (crazy programmer, that works on 1st january !!!!!)
-
-
- This program was done because the assembler given by ATARI is too slow.
- As nobody else tried to make one in assembly, I did.
- (well, the first version was avaible in november 1993 ...)
- This assembler is nearly 30 times faster than ASM56000.TTP+DSPLNK+CLD2LOD.
- It is 20 times smaller too, and my version isn't really 20 times lower.
- Who said that assembly is useless, because C can do as good ?
- The speed test was done with a complete 3000 lines source.
-
- This program is not supposed to replace ASM56000.TTP coded in C by Motorola.
- I don't know perfectly the DSP. You must sometime assemble your program
- with ASM56000, to check if mine didn't miss a bugg.
-
- Often, when you make a mistake, the program doesn't tell you, and correct
- it, as it's easier that way: I wanted to code as fast as possible a version
- able to assemble a program, but, be patient, and wait for a next version.
- Please remember, that I'm not payed to do this job. I'm coding it anytime
- I'm bored with my main programs (the serious ones). Then, you must excuse
- the low quality of this program, and the time to wait for a new version.
- This program was specially made for me, and my big dsp routine (3000 lines)
- I'm working on. (Do you know what 5 minutes waiting means ?)
-
-
-
- -- example --
-
- _how to assemble:
- open "qdsp_asm.ttp"
- command line: "file.asm"
-
- _how to use it:
- ...
- ...
- ...
- Dsp_ExecProg: MACRO ;#codeptr.L,#codesize.L,#ability.W
- move.w \3,-(sp)
- move.l \2,-(sp)
- move.l \1,-(sp)
- move.w #$6d,-(sp)
- trap #14
- lea.l 12(sp),sp
- ENDM
- ...
- ...
- ...
- Dsp_ExecProg #buff,#(ebuff-bbuff)/3,#ability
- ...
- ...
- ...
- bbuff: incbin "file.p56"
- ebuff:
- ...
- ...
-
-
- in C: load it somewhere, get the file size, and execute Dsp_ExecProg.
-
- You can use the ".lod" too, but I think the ".p56" is better, because it
- is smaller, and it will remain less time to execute. I think you should
- include in your programs, the possibility of loading ".dsp". For example:
- in dsp sound effects programs.
- ".lod" can be translated to ".p56" with the Dsp_LodToBinary function.
-
-
-
- command line syntax:
- [n] [l] [oFILE.P56] [pFILE] FILE.ASM
-
- example:
- l otest.p56 test.asm
-
- n: don't make '.DSP' output file
- l: make a LOD output file too
- oFILE.P56 define an other name for output file (don't forget the extention)
-
-
-
- restrictions:
- _ warnings are not reported. (not even counted).
- _ few assembling directives.
- _ no optimisation directives.
- _ ALL THE RESTRICTIONS WRITTEN IN THE DSP MANUAL ARE NOT SEEN BY THE
- ASSEMBLER !! (ex1: short jsr at LA adress ex2:rti after rep
- EX3: use of Rn after move ??,Rn ...).
- _ please don't make mistake on command line.
-
- If you find a bugg I didn't register, it would be nice to report it.
-
-
- notes:
- _ "_label" is a local label.
- _ labels may be defined many times.
-
-
-
- **** v0.02 improvements:
-
- _ double parallel move.
-
- _ L: memory move is now allowed.
-
- _ brackets in arithmetic.
-
- _ MACROs without parameters.
- "__label" is a macro local label.
-
- ex:
-
- mac1: MACRO
- cmp a,b
- jeq __lab0
- not a
- jmp __lab1
- __lab0:
- not b
- __lab1:
- ENDM
-
- mac1
- ...
- mac1
- ...
- ...
-
-
-
- **** v0.03 improvement:
-
- _ some buggs have been fixed.
-
-
-
- **** v0.04 improvements:
-
- _ ".P56" extension is now use instead of ".DSP", as devpac dsp (and maybe
- others) created this normalisation.
-
- _ bugg about use of recursive brackets is fixed. (and others, I haven't
- enumerated, too.)
-
- _ assembling directives.
- IF,IFNE,IFEQ,IFLE,IFLT,IFGE,IFGT,ELSE/ELSEIF,ENDC/ENDIF
-
- _ macro WITH parameters
- ex:
- ...
- ...
- test: MACRO
- add \2,\1
- movep \1,X:<<HTX
- ENDM
- ...
- ...
- test a,b
-
-
-
-
- note about "<" and ">":
- please always use ">" and "<" each time you use a constant.
- When you don't put it, the program take it for immediate short ("<") if the
- value is lower than the address where you put it (for jumps), and lower than
- $1000. It would be considered as absolute immediate (">"), if the adress is
- greater. Then, you should always use "<", and change it to ">" if the value
- is too big.
- I ask you to always use them, because, I'm not sure if I solved all the
- problems that may appen.
-
-
-
-
-
- If you're ATARI developper, you can get the source of this stuff.
- The price : any nice source coded by you.
-
-
- For this job, I only expect gratitude, or donation if you have money to
- waste.
-
-
- To copy this program, you should keep those points:
- _ Nothing can be modified (text file, text in the program, ...)
- _ This text file must be given with the program.
- _ No kind of profit allowed. (If you wish to, you'll have to deal with me.)
-
-
-
- to contact me:
-
- AUDOLY GILLES
- 10, passage Segurane
- 06300 Nice
- FRANCE
-
-
- IF YOU WANT TO GET SOMETHING BACK, PLEASE SEND A STAMPED ENVELOPPE, AND A
- DISK FOR FILES.
-
-
- internet:
- audoly@orque.unice.fr DOES NOT EXIST ANY MORE !!!
- you can't reach me yet via email.
-
- BBS:
- Gilles Audoly on BRAZIL or Zyllius
-
-
-
-
- small advertising:
-
- The game MoonSpeeder is now avaible.
- C.L.O.E raytracer will be avaible at the end of december at the ATARI show
- in Paris, and all over the universe in january 1995.
-
-
-
-
-
-
-